xend: Don't destroy domains on shutdown timeout.
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Wed, 30 May 2007 09:06:23 +0000 (10:06 +0100)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Wed, 30 May 2007 09:06:23 +0000 (10:06 +0100)
Do not destroy domains on shutdown timeout: the administrator needs to
be able to decide what to do if a domain does not shut down.

Signed-off-by: John Levon <john.levon@sun.com>
tools/python/xen/xend/XendDomainInfo.py

index ca780c2895e415dea4bd284c499fac779b31dfdf..332da807bbac3e2189d0501a8262aa663b4d04aa 100644 (file)
@@ -1128,8 +1128,8 @@ class XendDomainInfo:
                 # failed.  Ignore this domain.
                 pass
             else:
-                # Domain is alive.  If we are shutting it down, then check
-                # the timeout on that, and destroy it if necessary.
+                # Domain is alive.  If we are shutting it down, log a message
+                # if it seems unresponsive.
                 if xeninfo['paused']:
                     self._stateSet(DOM_STATE_PAUSED)
                 else:
@@ -1138,11 +1138,11 @@ class XendDomainInfo:
                 if self.shutdownStartTime:
                     timeout = (SHUTDOWN_TIMEOUT - time.time() +
                                self.shutdownStartTime)
-                    if timeout < 0:
+                    if (timeout < 0 and not self.readDom('xend/unresponsive')):
                         log.info(
                             "Domain shutdown timeout expired: name=%s id=%s",
                             self.info['name_label'], self.domid)
-                        self.destroy()
+                        self.storeDom('xend/unresponsive', 'True')
         finally:
             self.refresh_shutdown_lock.release()